This application claims the benefit of Korean Application No. 2001-79716, filed Dec. 15, 2001, in the Korean Industrial Property Office, the disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to a duplex printing method of a printing apparatus such as a printer or a copier, and more particularly, to a duplex printing method in which a sequence of pages to be printed is determined using a page backup algorithm in a state of a printer engine error, such as paper jam or paper empty, in order to print print data on both sides of a print sheet.
2. Description of the Related Art
A block diagram of a typical printing apparatus having a duplex printing function is shown in FIG. 1. The printing apparatus shown in FIG. 1 includes an interface unit 10, a controller 12, a memory 14, an image forming unit 16, and a sheet handler 18.
The controller 12 converts print data received from an external source through the interface unit 10 into images, stores the images in the memory 14, and transmits the images corresponding to respective pages to be printed to the image forming unit 16 in a predetermined printing sequence. The image forming unit 16 prints a received image on a sheet picked up by the sheet handler 18. The image forming unit 16 and the sheet handler 18 are parts that actually perform a printing function and are collectively referred to as a printer engine.
The controller 12 includes a scheduler (not shown) determining the printing sequence of the respective pages to be printed, an interpreter (not shown) processing the received print data, and a video controller (not shown). The image forming unit 16 forms an image on a corresponding sheet. The sheet handler 18 handles sheets and includes a duplex loop (not shown) for a duplex printing function.
Generally, the printing apparatus having the duplex printing function is provided with the duplex loop so that the duplex printing function can be implemented under the control of the controller 12. The duplex loop is an apparatus handling (processing) sheets for the duplex printing function.
The duplex loop is denoted by a reference numeral 28 shown in FIG. 1 of U.S. Pat. No. 6,069,704 and is also shown in FIG. 1 of U.S. Pat. No. 5,488,458 as a duplex loop path denoted by a reference numeral 13. Thus, a description about structure and operations of the duplex loop will be omitted.
Scheduling methods of determining the printing sequence of the pages to be printed for the duplex printing function in the printing apparatus such as a printer are different from each other depending on the number of sheets handled by the printer. That is, the scheduling methods are different from each other depending on the number of sheets which can be accommodated (disposed) in the duplex loop of the printer at a time, i.e., the number of sheets accommodated in the duplex loop during a period from the picking-up of the sheets to the printing out of the sheets. The number of sheets accommodated and handled in the duplex loop at a time indicates the number of sheets which can be processed in accordance with the duplex printing function in bulk and is hereinafter simply referred to as a duplex loop capacity.
The duplex loop capacity varies with a length of the duplex loop and the size of a sheet. As an example, it is assumed that sheets of the same size are accommodated and handled in the duplex loop. However, the present invention is not limited to the sheets of the same size.
If the duplex loop capacity of the printer is N, the video controller of the printer must be provided with 2N pages. For example, in a case where the duplex loop capacity is 5, when 10 pages are to be printed, the pages to be printed would be scheduled in order of second pagexe2x86x92fourth pagexe2x86x92sixth pagexe2x86x92eighth pagexe2x86x92tenth pagexe2x86x92first pagexe2x86x92third pagexe2x86x92fifth pagexe2x86x92seventh pagexe2x86x92ninth page. Here, if there are only nine pages to be printed, the position of the tenth page should be skipped and processed as a null page. If there is a continuous printing job following the above printing job, the skipped part should be minimized to minimize a duplex cycle and the like. The method of scheduling the printing sequence of the pages to minimize a duplex cycle is disclosed in a U.S. Pat. No. 6,069,704.
However, the continuous printing job is sometimes interrupted or abruptly terminated. There may occur a processing error, such as paper jam or toner empty, in terms of mechanical characteristics of the printer or copier or a physical error such as paper empty in terms of a capacitive limit of a paper cassette.
In the above case, the printer can operate at a full speed only after the controller 12 generates image data corresponding to respective ones of the pages in the form of a bitmap or a similar form such as a display list or a compressed bitmap throughout the ten pages.
If the processing on the fifth page is delayed after completing the processing on first through fourth pages, or if a memory overflow occurs, it is needed to print just four pages in advance. As described above, the page scheduling needs to be changed depending on circumstances due to a capacity limit of the controller itself and a physical limit of the printing apparatus.
All cases which the errors can occur while the duplex printing function is performed in the printer will be reviewed. As an example, it is assumed that the duplex loop capacity is 2 in all of the following cases.
1. Continuous Duplex Printing or Fast Duplex Printing Mode
For example, when 8 pages are printed on both sides of 4 sheets, the printing sequence may be 2xe2x86x924xe2x86x921xe2x86x926xe2x86x923xe2x86x928xe2x86x925xe2x86x927. Here, the numerals, such as 1 and 2, indicate page numbers. That is, numeral 2 indicates a second page.
In the fast duplex printing mode, at the moment that a next page to be printed is determined immediately after printing of the second page is completed, the fourth page should be prepared in the form of the bitmap or the similar form such as the display list or the compressed bitmap.
This mode allows a maximum engine efficiency in the printer having the duplex loop capacity of 2 to be accomplished.
2. Normal Duplex Printing or Normal Duplex Printing Mode
When 8 pages are printed, the printing sequence may be 2xe2x86x921xe2x86x924xe2x86x923xe2x86x926xe2x86x925xe2x86x928xe2x86x927. This printing mode can occur in the following state.
First, it occurs when the third and fourth pages are not prepared at the moment of printing of a next page after the second page is completely printed, due to very complicated data or an insufficient capacity of a memory.
Second, it occurs when sheets are used in the printer engine having the duplex loop capacity of 2. In other words, long sheets may not be allowed by the duplex loop having the duplex loop capacity of 2 in terms of characteristics of the printing apparatus.
3. Continuous and Normal Duplex Printing Mode
When 10 pages are printed, the printing sequence may be 2xe2x86x921xe2x86x924xe2x86x926xe2x86x923xe2x86x928xe2x86x925xe2x86x927xe2x86x9210xe2x86x929.
This mode occurs when processing of the third and fourth pages and processing of the ninth and tenth pages are delayed or when the size of the sheets is large. In other words, this occurs when only the normal duplex printing mode is performed in the printing apparatus.
4. Duplex Printing Mode after Instant Engine Stop
For example, there may be three cases of the printing sequence.
Case 1: 2xe2x86x92engine error and stopxe2x86x922xe2x86x924xe2x86x921xe2x86x926xe2x86x923xe2x86x928xe2x86x925xe2x86x927
Case 2: 2xe2x86x924xe2x86x92engine error and stopxe2x86x922xe2x86x924xe2x86x921xe2x86x926xe2x86x923xe2x86x928xe2x86x925xe2x86x927
Case 3: 2xe2x86x924xe2x86x921xe2x86x92engine error and stopxe2x86x924xe2x86x926xe2x86x923xe2x86x928xe2x86x925xe2x86x927
In the case 1 where the printer engine stops due to an engine error after the second page is printed, only the second page of a pair of the first and second pages has been printed, so the printing function restarts from the second page.
In the case 2 where the printer engine stops after the fourth page is printed, a pair of the first and second pages and a pair of the third and fourth pages have not been completely printed, so the printing function restarts from the second page.
In the case 3 where the printer engine stops after a pair of the first and second pages are completely printed, the printing function restarts from the fourth page.
In the above cases, the printer engine stops instantly after the paper jam. In the case 1, the paper jam occurs on the fourth page. In case 2, the paper jam occurs on the first page. In case 3, the paper jam occurs on the sixth page.
5. Duplex Printing Mode after Delaying Engine Stop
For example, there may be three cases of the printing sequence.
Case 4: 2xe2x86x92engine errorxe2x86x921xe2x86x92engine stopxe2x86x924xe2x86x926xe2x86x923xe2x86x928xe2x86x925xe2x86x927
Case 5: 2xe2x86x924xe2x86x92engine errorxe2x86x921xe2x86x923xe2x86x92engine stopxe2x86x926xe2x86x928xe2x86x925xe2x86x927
Case 6: 2xe2x86x924xe2x86x921xe2x86x92engine errorxe2x86x923xe2x86x92engine stopxe2x86x924xe2x86x926xe2x86x923xe2x86x928xe2x86x925xe2x86x927
In the case 4, the engine error occurs after the second page is printed, and the printer engine stops after printing the first page paired with the second page on a picked-up sheet.
In the case 5, the engine error occurs after the fourth page is printed, and the printer engine stops after printing the first and third pages paired with the second and fourth pages, respectively.
In the case 6, the engine error occurs after a sheet on which the fourth page is printed is picked up and the first page is printed, and the printer engine stops after printing the third page paired with the fourth page.
In the above cases, when the engine error occurs due to the paper empty or toner empty, the printer engine stops after a next page paired with a previously printed page that has been printed on a picked-up sheet is printed.
As described above, when a duplex loop capacity is greater than 1, the scheduling and determining the printing sequence of the pages to be printed varies in accordance with a state of the video controller, a printer engine, or print data.
However, the conventional duplex printing methods are performed only in a fixed (unchangeable) mode, so the mode cannot be changed between the fast duplex printing mode and the normal duplex printing mode, thereby decreasing efficiency of managing the memory.
In other words, when the scheduler of the controller 12 waits for a next print command to print a next page according to a predetermined order in the fast duplex printing mode according to the conventional duplex printing method, a first side page of a sheet printed in response to a previous printing command must be maintained in a memory until the print data corresponding to a second side page paired with the first side page to print both sides of the sheet in response to the printing command are converted into an image corresponding to the second side page, so the memory cannot be efficiently managed.
In this case, it is necessary to print the first side page for which the printing command has been made as soon as possible in order to securely provide a greater memory area and to thus increase the efficiency of managing the memory for the next page. However, according to the conventional duplex printing methods, since the duplex printing function is performed only in a fixed mode, the efficiency of the memory decreases. As a result, the printing efficiency decreases.
Moreover, according to the conventional duplex printing method, the printer is operated only in the fixed mode even if the error occurs, so the duplex printing function cannot be optimally performed in a variety of circumstances.
To solve the above and other problems, it is an object of the present invention to provide a duplex printing method in a printing apparatus having a duplex printing function in which two pages to be printed on both sides of a single sheet are stored in a single queue. An even page is discriminately processed from an odd page in order to variously schedule a printing sequence of the pages to be printed according to circumstances so that an optimal duplex printing function can be performed.
Additional objects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
To achieve the above and other objects according to an embodiment of the present invention, there is provided a duplex printing method in a printing apparatus having a duplex printing function printing incoming print data on both sides of a print sheet. The duplex printing method includes sequentially converting the incoming data into images in units of a page and storing the images corresponding to respective pages, determining whether there are images of two side pages to be printed on both sides of the single sheet among the images of the pages, if it is determined that there are the images of the two side pages, forming a dual queue including both odd page image related information and even page image related information for the two side pages, variably scheduling a printing sequence of the pages to be printed using the dual queue and performing the duplex printing function, and repeating the above operations until all of the incoming print data is completely received and printed.
According to an aspect of the present invention, in the scheduling of the printing sequence, when the pages to be printed are complex because the pages have a great amount of data or when an image of a page to be printed next is not prepared due to an insufficient memory, another page whose image has been prepared is printed.
According to another aspect of the present invention, in the scheduling of the printing sequence, a fast duplex printing mode or normal duplex printing mode is variably selected according to circumstances, and a page of the dual queue to be printed is determined according to the selected duplex printing mode before performing the duplex printing function.
According to still another aspect of the present invention, in the scheduling of the printing sequence, when the size of a sheet is allowed in the normal mode duplex printing mode only, the page in the dual queue to be printed is determined according to the normal duplex printing mode.
According to yet another aspect of the present invention, in the scheduling of the printing sequence, in a case of an error, the printing sequence of the pages to be printed is rescheduled to a new printing sequence to newly print pages which have not been completely printed due to the error before performing the duplex printing function.
According to still yet aspect of the present invention, the duplex printing method further includes determining whether the two even and odd pages related to the dual queue are completely printed, releasing (erasing the pages of the dual queue from) a memory related to the dual queue and repeating the above operation when it is determined that the two pages are completely printed, and scheduling the printing sequence when it is determined that the two pages are not completely printed.
According to also another aspect of the present invention, in the forming of the dual queue, the dual queue includes a dual queue page ID indicating the dual queue including the two pages, even and odd page IDs indicating even and odd pages, respectively, of the dual queue, and even and odd copy values indicating the numbers of copies of the even and odd pages, respectively, of the dual queue.
According to another embodiment of the present invention, there is provided another duplex printing method in the printing apparatus having the duplex printing function printing the incoming print data on both sides of the print sheet. The duplex printing method includes sequentially converting the incoming print data into images in units of a page and storing the images corresponding to respective pages, determining whether there are the images of two side pages to be printed on both sides of a single print sheet among the images of the pages, if it is determined that there are the images of the two side pages, forming a dual queue including both odd page image related information and even page image related information for the two side pages, variably scheduling another printing sequence of the side pages to be printed using the dual queue and performing the duplex printing function, determining whether the two even and odd pages related to the dual queue are completely printed, releasing (erasing the side pages from) a memory related to the dual queue when it is determined that the two side pages are completely printed, and performing the scheduling of the printing sequence when it is determined that the two side pages are not completely printed.
The duplex printing method further includes after operations of forming the dual queue, scheduling the printing sequence, determining whether the print data is being received, and performing the converting of the incoming data into images in units of a page when it is determined that the print data is being received, and when it is determined that the print data is not being received, determining whether the printing is completed, ending the duplex printing function when it is determined that the printing is completed, and repeating the scheduling of the printing sequence when it is determined that the printing is not completed.
According to an aspect of the present invention, in the forming of the dual queue, the dual queue includes a dual queue page ID indicating the dual queue including the two side pages, even and odd page IDs indicating even and odd pages, respectively, of the dual queue, and even and odd copy values indicating the numbers of copies of the even and odd pages, respectively, of the dual queue.
According to another aspect of the present invention, the scheduling of the printing sequence includes determining the dual queue each page of which is to be printed according to a predetermined scheduling method, determining whether to print the odd or even page of the dual queue based on the even and odd copy values, determining whether the error has occurred, and repeating the determining of the dual queue when it is determined that an error has occurred, when it is determined that the error has not occurred, determining whether to pick up a new sheet according to the determined odd or even page, printing the determined odd or even page on the newly picked-up print sheet, and reducing the even copy value by one when the determined even page is printed and reducing the odd copy value by one when the determined odd page is printed.
According to still another aspect of the present invention, in the determining of the dual queue, when pages to be printed are complex due to a great amount of data of the pages or when an image of a page to be printed next is not prepared due to the insufficient memory, it is determined that the page whose image has been prepared is printed.
According to yet another aspect to the present invention, in the determining of the dual queue, the fast duplex printing mode or normal duplex printing mode is variably selected according to the circumstances, and the dual queue each page of which is to be printed is determined according to the selected duplex printing mode.
According to still yet aspect to the present invention, in the determining of the dual queue, when the size of a sheet is allowed in the normal mode duplex printing only, the page in the dual queue to be printed is determined according to the normal duplex printing mode.
According to also another aspect to the present invention, when it is determined the error has occurred, in the determining of the dual queue, the even or odd copy value of the page which has not been completely printed due to the error is increased by 1 to newly print the page.
According to also another aspect to the present invention, when only one copy of the even and odd pages is needed, it is determined that the even page is printed when the even copy value is the same as the odd copy value, and it is determined that the odd page is printed when the even copy value is 0 and the odd copy value is 1.
According to also another aspect to the present invention, in a case where at least two copies of the even and odd pages are needed, it is determined that the odd page is printed if (the odd copy valuexe2x88x92even copy value) greater than =2 or the even copy value is 0, otherwise it is determined that the even page is printed.
According to further another aspect to the present invention, in the determining of whether the error has occurred, a first error in which a printer engine instantly stops is discriminated from a second error in which the printer engine stops after the printing function is performed on a sheet already picked up, and in the determining of the dual queue, the printing sequence of pages to be printed is variably determined according to the error.